﻿using GalaSoft.MvvmLight.Messaging;
using System;
using System.Collections.ObjectModel;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace MvvmExplorer.UICommon
{
    public interface IViewModelBase
    {
        #region 服务信息
        IDialogService DialogService { get; set; }
        IObjectManager ObjectManager { get; set; }
        IViewSettingService ViewSettingService { get; set; }
        IMessenger Messenger { get; }
        #endregion
        #region 基本属性
        string ObjectName { get; }
        string PageName { get; }
        KeyedCollection<string, IObjectCommand> Commands { get; set; }
        #endregion
        #region 基本方法 设置控件的状态 或者 得到控件的状态
        void SetControlState<T>(string controlName,T stateValue);
        T SetControlState<T>(string controlName);
        #endregion
    }
}
